#ifndef MESH_H
#define MESH_H

#include <QList>
//#include <QVector>

#include "vertex.h"
#include "edge.h"
#include "triangle.h"

class Mesh  
{
	public:
		Mesh();

		void addTriangle(Triangle *t);
		void addEdge(Edge *e);
		void addVertex(Vertex *v);
		
		/*
		void remove(Vertex *v);
		void remove(Edge *e);
		void remove(Triangle *t);
		*/
		
		QList<Vertex*> getVertices(void) const;
		QList<Edge*> getEdges(void) const;
		QList<Triangle*> getTriangles(void) const;
		
		int numberOfVertices();
		int numberOfEdges();
		int numberOftriangles();
	
	protected:
		QList<Vertex * > vertices;
		QList<Edge * > 	edges;
		QList<Triangle *> triangles;
		int edgeNr;
		int vertNr;
		int triaNr;
};
#endif
